Field of the Invention
The present invention relates to the field of software development and more particularly to distributed software development.
Description of the Related Art
Software development historically involved the coding of source code in what amounted to little more than a text editor with some enhanced functions particular to coding. Over time, the complexity of software development resulted in the development of the integrated development environment (IDE). In an IDE, a text editor in which code can be edited directly can be combined with both development time tools such as module management, and debugging tools such as trace and watch functions and various inspectors. Until recently, however, the IDE had been intended for use by a single user in the development of a multi-module project. In the past decade or so, however, the globalization of the economy has resulted in distributed coding efforts.
In a distributed coding effort, software developers that are geographically dispersed collaborate in the coding, debugging, testing and deployment of software. To facilitate the global effort, the IDE has incorporated concepts in document management such as revision control, change management and merging, and check-in/check-out in order to provide a central platform for coordinating the development of software. Yet, the modern IDE while automating much still does not account in an automated way for much of the best practices accorded to software development—particularly quality control and code review.
In this regard, In today's highly dynamic working environment, it is common for developers/testers to work with other developers and testers all over the world when delivering software products. Further, it is common for developers to develop multiple components. As such, at any given time, the focus of software development may shift from one component to another component or yet a further component depending upon business needs. When working with a large team, developers may never meet with any of the remote developers and may not know the respective expertise of remotely disposed developments contributing to the project. Whenever it comes to the time to choose a reviewer or approver or an owner of a particularly software development task, developers may be unsure about the correct person to chose as a reviewer.